Compiling with Types
نویسنده
چکیده
This paper presents a program transformation, representation analysis, that makes it possible for languages with polymorphic types, such as ML, to use unboxed data representations in monomorphic code. The solution the paper presents involves the use of coercions to convert back and forth between unboxed representations used by monomorphic functions to the boxed representation used by polymorphic functions. The paper then presents a formalization of the transformation and proofs of both its type correctness and semantic correctness. The technique is then extended to support concrete ML datatypes and mutable types. Finally an overview of the implementation of the transformation in the Gallium Caml Light compiler is presented, along with benchmarks comparing Gallium with other ML compilers.
منابع مشابه
Evaluating the Residents’ Opinions of the Neighborhood about the Inter-productive Structures in Historical Context of Julfa, Isfahan
Isfahan’s Julfa neighborhood has been one of the valuable historical neighborhoods related to the Safavid era. It is different from other neighborhoods of the city due to the residents’ cultural-religious differences. Interventions in historical contexts are taking place with a variety of approaches around the world. The present study was conducted to answer this question: What should the inter...
متن کاملCompiling Laziness Using Projection Types
Strictness analysis is accepted as an important tool for the eecient implementation of lazy functional languages. However, the analyses are usually rst-order and the optimisations that follow may be ad hoc. Using projections to represent static properties of programs is appealing because they naturally describe component-wise demand on data structures and can handle latent demands such as head-...
متن کاملCompiling the Process Functional Programs
This paper briefly describes process functional language compiler architecture. Process functional language is an experimental functional language with imperative features like memory cell variables. The main parts of the process functional language compiler are presented with short description and examples. Current implementation of PFL compiler comprises a algebraic types, primitive functions...
متن کاملParametricity as Subtyping (preliminary Report)
A polymorphic function is parametric if it has uniform behavior for all type parameters. This property is useful when writing, reasoning about, and compiling functional programs. We show how to syntactically deene and reason about parametricity in a language with intersection types and bounded polymorphism. Within this framework, parametricity is subtyping, and reasoning about para-metricity be...
متن کاملDesigning and Compiling a Human Capital Management Model in West Oil and Gas Exploitation Company
The purpose of this study is to design human capital management model in West Oil and Gas Exploitation Company. This research is an applied development in terms of purpose and qualitative in terms of nature. Experts were identified by targeted sampling and snowball sampling, which interviewed with 15 experts. The method of analysis was grounded theory and data were collected through semi-struct...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010